package pile.customer.service;

import org.springframework.web.multipart.MultipartFile;
import pile.customer.entity.User;
import com.baomidou.mybatisplus.extension.service.IService;
import pile.customer.entity.ResponseResult;
import pile.customer.params.user.DeleDTO;
import pile.customer.params.user.ListDTO;
/**
 * <p>
 *  服务类
 * </p>
 *
 * @author 郭天义
 * @since 2024-06-01
 */
public interface IUserService extends IService<User> {

  ResponseResult listPage(ListDTO listDTO);


  ResponseResult add(User user);


  /**
   * 用户登录
   * @param openId
   * @param channel
   * @param phone
   */
  void userLogin(String openId,Integer channel,String phone);


  /**
   * 用户离线 修改状态
   * @param openId
   */
  void userOffline(String openId);

  /**
   * 查询未接入用户
   * @param listDTO
   * @return
   */
    ResponseResult userNotConnected(ListDTO listDTO);

  /**
   * 根据openId查询用户
   * @param openId
   * @return
   */
  User selectByOpenId(String openId);

  /**
   * 点击接入
   * @param listDTO
   * @return
   */
  ResponseResult clickToConnect(ListDTO listDTO);

  /**
   * 结束回话
   * @param listDTO
   * @return
   */
  ResponseResult endSession(ListDTO listDTO);

  /**
   * 文件 新增 上传文件
   * @param file
   * @return
   */
  ResponseResult addFile(MultipartFile file);

  /**
   * 是否已读
   * @param listDTO
   * @return
   */
  ResponseResult isRead(ListDTO listDTO);
}
